package org.jctc.els.modules.biz.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * cmf_log_api
 * @author
 */
@Data
@TableName("cmf_log_api")
@ApiModel(value = "CmfLogApi对象", description = "CmfLogApi对象")
public class LogApi implements Serializable {
    /**
     * 编号
	 * 主键
	 */
	@JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(value = "主键")
	@TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 租户ID
     */
	@JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(value = "租户ID")
    private String tenantId;

    /**
     * 服务ID
     */
	@JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(value = "服务ID")
    private String serviceId;

    /**
     * 服务器名
     */
	@ApiModelProperty(value = "服务器名")
    private String serverHost;

    /**
     * 服务器IP地址
     */
	@ApiModelProperty(value = "服务器IP地址")
    private String serverIp;

    /**
     * 服务器环境
     */
	@ApiModelProperty(value = "服务器环境")
    private String env;

    /**
     * 日志类型
     */
	@ApiModelProperty(value = "日志类型")
    private String type;

    /**
     * 日志标题
     */
	@ApiModelProperty(value = "日志标题")
    private String title;

    /**
     * 操作方式
     */
	@ApiModelProperty(value = "操作方式")
    private String method;

    /**
     * 请求URI
     */
	@ApiModelProperty(value = "请求URI")
    private String requestUri;

    /**
     * 用户代理
     */
	@ApiModelProperty(value = "用户代理")
    private String userAgent;

    /**
     * 操作IP地址
     */
	@ApiModelProperty(value = "操作IP地址")
    private String remoteIp;

    /**
     * 方法类
     */
	@ApiModelProperty(value = "方法类")
    private String methodClass;

    /**
     * 方法名
     */
	@ApiModelProperty(value = "方法名")
    private String methodName;

    /**
     * 执行时间
     */
	@ApiModelProperty(value = "执行时间")
    private String time;

    /**
     * 创建人
     */
	@ApiModelProperty(value = "创建人")
    private Long createdBy;

    /**
     * 创建时间
     */
	@ApiModelProperty(value = "创建时间")
    private Date createdTime;

    /**
     * 操作提交的数据
     */
	@ApiModelProperty(value = "操作提交的数据")
    private String params;

}
